﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.UI.Bovespa.Ordens.Model.Enum;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.Ordens.Model
{
    [Serializable]
    public class BaseDigitacao: BaseModel
    {
        #region Propriedades
        #region Private
                private string _ApelidoCliente;
                private string _CodigoAgenteCustodia;
                private int? _CodigoCarteira;
                private int? _CodigoCliente;
                private int? _CodigoClienteCustodia;
                private DateTime? _DataMovimento;
                private int? _DigitoClienteCustodiaDigitacao;
                private int? _DigitoVerificadorCliente;
                private Int64? _NumeroSequenciaDigitacao;
                private decimal? _PercentualAcrescimo;
                private decimal? _PrecoInformado;
                private decimal? _QuantidadeDestinadaCliente;
                private string _SituacaoCliente;
                private TipoLiquidacaoDistribuicao? _TipoLiquidacao;
                private decimal? _ValorDolar;
                private string _IndicadorNaoLiquidacao;
                private string _IndicadorSistemaExterno;
                private Boolean? _UtilizaContaInvestimento;
                private int? _CodigoClienteLoteOrdem;
                private decimal? _PercentualDistribuido;
                private TipoDistribuicao _TipoDistribuicao;
            #endregion

        #region Public
            public string ApelidoCliente
            {
                get { return _ApelidoCliente; }
                set { _ApelidoCliente = value; this.OnPropertyChanged("ApelidoCliente"); }
            }
            public string CodigoAgenteCustodia
            {
                get { return _CodigoAgenteCustodia; }
                set { _CodigoAgenteCustodia = value; this.OnPropertyChanged("CodigoAgenteCustodia"); }
            }
            public int? CodigoCarteira
            {
                get { return _CodigoCarteira; }
                set { _CodigoCarteira = value; this.OnPropertyChanged("CodigoCarteira"); }
            }
            public int? CodigoCliente
            {
                get { return _CodigoCliente; }
                set { _CodigoCliente = value; this.OnPropertyChanged("CodigoCliente"); }
            }
            public int? CodigoClienteCustodia
            {
                get { return _CodigoClienteCustodia; }
                set { _CodigoClienteCustodia = value; this.OnPropertyChanged("CodigoClienteCustodia"); }
            }
            public DateTime? DataMovimento
            {
                get { return _DataMovimento; }
                set { _DataMovimento = value; this.OnPropertyChanged("DataMovimento"); }
            }
            public int? DigitoClienteCustodiaDigitacao
            {
                get { return _DigitoClienteCustodiaDigitacao; }
                set {
                    _DigitoClienteCustodiaDigitacao = value; this.OnPropertyChanged("DigitoClienteCustodiaDigitacao");
                }
            }
            public int? DigitoVerificadorCliente
            {
                get { return _DigitoVerificadorCliente; }
                set { _DigitoVerificadorCliente = value; this.OnPropertyChanged("DigitoVerificadorCliente"); }
            }
            public Int64? NumeroSequenciaDigitacao
            {
                get { return _NumeroSequenciaDigitacao; }
                set { _NumeroSequenciaDigitacao = value; this.OnPropertyChanged("NumeroSequenciaDigitacao"); }
            }
            public string SituacaoCliente
            {
                get { return _SituacaoCliente; }
                set { _SituacaoCliente = value; this.OnPropertyChanged("SituacaoCliente"); }
            }
            public string IndicadorNaoLiquidacao
            {
                get { return _IndicadorNaoLiquidacao; }
                set { _IndicadorNaoLiquidacao = value; this.OnPropertyChanged("IndicadorNaoLiquidacao"); }
            }
            public decimal? ValorDolar
            {
                get { return _ValorDolar; }
                set { _ValorDolar = value; this.OnPropertyChanged("ValorDolar"); }
            }
            public TipoLiquidacaoDistribuicao? TipoLiquidacao
            {
                get { return _TipoLiquidacao; }
                set { _TipoLiquidacao = value; this.OnPropertyChanged("TipoLiquidacao"); }
            }
            public string IndicadorSistemaExterno
            {
                get { return _IndicadorSistemaExterno; }
                set { _IndicadorSistemaExterno = value; this.OnPropertyChanged("IndicadorSistemaExterno"); }
            }
            public Boolean? UtilizaContaInvestimento
            {
                get { return _UtilizaContaInvestimento; }
                set { _UtilizaContaInvestimento = value; this.OnPropertyChanged("UtilizaContaInvestimento"); }
            }
            public int? CodigoClienteLoteOrdem
            {
                get { return _CodigoClienteLoteOrdem; }
                set { _CodigoClienteLoteOrdem = value; this.OnPropertyChanged("CodigoClienteLoteOrdem"); }
            }
            public decimal? PercentualDistribuido
            {
                get { return _PercentualDistribuido; }
                set { _PercentualDistribuido = value; this.OnPropertyChanged("PercentualDistribuido"); }
            }
            public TipoDistribuicao TipoDistribuicao
            {
                get { return _TipoDistribuicao; }
                set { _TipoDistribuicao = value; this.OnPropertyChanged("TipoDistribuicao"); }
            }
            public decimal? QuantidadeDestinadaCliente
            {
                get { return _QuantidadeDestinadaCliente; }
                set { _QuantidadeDestinadaCliente = value; this.OnPropertyChanged("QuantidadeDestinadaCliente"); }
            }
            public decimal? PrecoInformado
            {
                get { return _PrecoInformado; }
                set { _PrecoInformado = value; this.OnPropertyChanged("PrecoInformado"); }
            }
            public decimal? PercentualAcrescimo
            {
                get { return _PercentualAcrescimo; }
                set { _PercentualAcrescimo = value; this.OnPropertyChanged("PercentualAcrescimo"); }
            }
       #endregion
        #endregion
    }
}

